home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 2: Applications / Linux Cubed Series 2 - Applications.iso / math / gle-3.000 / gle-3 / gle / turbo.c < prev    next >
C/C++ Source or Header  |  1995-02-07  |  3KB  |  128 lines

  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #if ( ! ( defined DJ || defined EMXOS2 ))       /* a.r. */
  4.        #include "vaxconio.h"
  5. #endif
  6. #include "int32.h"
  7.  
  8. #define true (!false)
  9. #define false 0
  10. #if ( ! ( defined DJ || defined EMXOS2 ))       /* a.r. */
  11. getch()
  12. {
  13.         return tt_inkey();
  14. }
  15. #endif
  16. int32 coreleft(void)
  17. {
  18.         return 4000000l;
  19. }
  20. #ifndef DJ  /* a.r. */
  21. strlwr(char *s)
  22. {
  23.         char *ss=s;
  24.         while (*s!=0) {*s = tolower(*s); s++;}
  25.         return ss;
  26. }
  27. #endif
  28. char *strupr(char *s)
  29. {
  30.         char *ss=s;
  31.         while (*s!=0) {*s = toupper(*s); s++;}
  32.         return ss;
  33. }
  34. #if (!(defined DJ || defined EMXOS2 ))      /* a.r. */
  35. unlink(char *filename)
  36. {
  37.         delete(filename);
  38. }
  39.  
  40. #include <descrip.h>
  41. int find_context;
  42. static char wildstr[200];
  43. static $DESCRIPTOR(str1,"");
  44. static $DESCRIPTOR(str2,"");
  45. static char rfile[200];
  46. findfirst(char *wild, struct ffblk *ffblk, int zz)
  47. {
  48.         int st;
  49.         char *s;
  50.         strcpy(wildstr,wild);
  51.         strcat(wildstr,";");
  52.         str1.dsc$a_pointer = wildstr;  str1.dsc$w_length = strlen(wildstr);
  53.         str2.dsc$a_pointer = &rfile[0];  str2.dsc$w_length = 132;
  54.         st = LIB$FIND_FILE(&str1,&str2,&find_context);
  55.         if ((st & 1) != 1) {
  56.                 st = LIB$FIND_FILE_END(&find_context);
  57.                 if ((st & 1) != 1) LIB$SIGNAL(st);
  58.                 return true;
  59.         }
  60.         ffblk->ff_name = &rfile[0]; rfile[str2.dsc$w_length] = 0;
  61.         s = strchr(ffblk->ff_name,' ');
  62.         *s = 0;
  63.         trim_file(ffblk->ff_name);
  64.         return false;
  65. }
  66. findnext(struct ffblk *ffblk)
  67. {
  68.         int st;
  69.         char *s;
  70.         st = LIB$FIND_FILE(&str1,&str2,&find_context);
  71.         if ((st & 1) != 1) {
  72.                 st = LIB$FIND_FILE_END(&find_context);
  73.                 if ((st & 1) != 1) LIB$SIGNAL(st);
  74.                 return true;
  75.         }
  76.         ffblk->ff_name = &rfile[0]; rfile[str2.dsc$w_length] = 0;
  77.         s = strchr(ffblk->ff_name,' ');
  78.         if (s!=NULL) *s = 0;
  79.         trim_file(ffblk->ff_name);
  80.         return false;
  81. }
  82. #endif /* DJ + EMXOS2 */
  83. trim_file(char *s)
  84. {
  85.         char *t;
  86.         t = strchr(s,']');
  87.         if (t!=NULL) memcpy(s,t+1,strlen(t));
  88.         t = strchr(s,';');
  89.         if (s!=NULL) *t = 0;
  90. }
  91.  
  92. #if (defined DJ || defined EMXOS2 )       /* a.r. */
  93.  
  94. char *getsymbol(char *s)
  95. {
  96.                 static char ss[100];
  97.                 ss[0] = 0;
  98.                 if ( getenv(s) != NULL) strcpy(ss,getenv(s));
  99.                 return ss;
  100. }
  101.  
  102. #else
  103.  
  104. char *getsymbol(char *sym)
  105. {
  106.         static char mystr[200],*s;
  107.         int r;
  108.         short teklen=80;
  109.         $DESCRIPTOR(symname,sym);
  110.         $DESCRIPTOR(tekval,mystr);
  111.         #ifndef MANIP /* who knows ... */
  112.         mystr[0] = 0;
  113.         #endif
  114.         symname.dsc$w_length = strlen(sym);
  115.         tekval.dsc$w_length = 80;
  116.         r = lib$get_symbol(&symname,&tekval,&teklen,&1);
  117.         mystr[teklen] = 0;
  118. loop1:        s = strchr(mystr,'^');
  119.         if (s!=NULL) {
  120.                 *(s+1) = *(s+1) - 64;
  121.                 memmove(s,s+1,strlen(s+1)+1);
  122.                 goto loop1;
  123.         }
  124.         return mystr;
  125. }
  126. #endif
  127.  
  128.